package dao;

import dao.concret.GroupeDAO;
import dao.concret.InstrumentDAO;
import dao.concret.MembreDAO;
import dao.concret.OeuvreDAO;
import dao.concret.PersonneDAO;
import dao.concret.ResponsabiliteDAO;
import dao.concret.SpecialiteDAO;
import dao.tables.GROUPE;
import dao.tables.INSTRUMENT;
import dao.tables.MEMBRE;
import dao.tables.OEUVRE;
import dao.tables.PERSONNE;
import dao.tables.RESPONSABILITE;
import dao.tables.SPECIALITE;

public class DAOFactory<T> extends AbstractDAOFactory<T> {

	@Override
	public DAO<PERSONNE> getPersonneDAO() {
		return new PersonneDAO();
	}

	@Override
	public DAO<MEMBRE> getMembreDAO() {
		return new MembreDAO();
	}

	@Override
	public DAO<RESPONSABILITE> getResponsabiliteDAO() {
		return new ResponsabiliteDAO();
	}

	@Override
	public DAO<INSTRUMENT> getInstrumentDAO() {
		return new InstrumentDAO();
	}

	@Override
	public DAO<SPECIALITE> getSpecialiteDAO() {
		return new SpecialiteDAO();
	}

	@Override
	public DAO<GROUPE> getGroupeDAO() {
		return new GroupeDAO();
	}

	@Override
	public DAO<OEUVRE> getOeuvreDAO() {
		return new OeuvreDAO();
	}

	@Override
	public DAOList<INSTRUMENT> getListInstrumentDAO() {
		return new InstrumentDAO();
	}

	@Override
	public DAOList<SPECIALITE> getListSpecialiteDAO() {
		return new SpecialiteDAO();
	}

	@Override
	public DAOList<MEMBRE> getListMembreDAO() {
		return new MembreDAO();
	}

	@Override
	public DAOList<GROUPE> getListGroupeDAO() {
		return new GroupeDAO();
	}
}
